package net.huashitong.ssydt.provider.article.service;


import net.huashitong.ssydt.article.entity.vo.*;

import java.util.List;

/**
 * @author <a href="mailto:yhy23456@163.com">huiyang.yu</a>
 * @since 2017.09.14
 */
public interface ArticleService {
    /**
     * 文件列表
     *
     * @param articleListInVO
     * @return
     */
    List<ArticleListOutVO> getArticles(ArticleListInVO articleListInVO);

    /**
     * 文章分类列表
     *
     * @return
     */
    List<ArticleTypeListVO> getArticleTypes();

    /**
     * 文章底部信息
     *
     * @param articleId
     * @param userId
     * @return
     */
    ArticleBottomVO getArticleBottom(Long articleId, String userId);

    /**
     * 文章点赞
     *
     * @param articleId
     * @param userId
     */
    void postArticlePraises(Long articleId, String userId);

    /**
     * 取消文章点赞
     *
     * @param articleId
     * @param userId
     */
    void deleteArticlePraises(Long articleId, String userId);

    /**
     * 执行文章收藏
     *
     * @param articleId
     * @param userId
     */
    void postArticleCollections(Long articleId, String userId);

    /**
     * 取消文章收藏
     *
     * @param articleId
     * @param userId
     */
    void deleteArticleCollections(Long articleId, String userId);

    /**
     * 清空文章收藏
     *
     * @param userId
     */
    void deleteArticlesCollections(String userId);

    /**
     * 文章收藏列表
     *
     * @param collectionsQueryVO
     * @return
     */
    List<ArticleListOutVO> getArticlesCollections(CollectionsQueryVO collectionsQueryVO);
}
